package esmp.jtt808.model;

/**
 * Created by dave on 18-7-20 下午6:12.
 */
public enum Param {
    // 通信参数
    terminalHeartbeat(0x0001),          // 终端心跳发送间隔，单位为（s）
    tcpRespTimeout(0x0002),             // TCP消息应答超时时间，单位为（s）
    tcpRetry(0x0003),                   // TCP消息重传次数
    udpRespTimeout(0x0004),             // UDP消息应答超时时间，单位为（s）
    udpRetry(0x0005),                   // UDP消息重传次数
    smsRespTimeout(0x0006),             // SMS消息应答超时时间，单位为（s）
    smsRetry(0x0007),                   // SMS消息重传次数

    // 服务器参数
    mainServerApn(0x0010),              // 主服务器APN
    mainServerUser(0x0011),             // 主服务器无线通信拨号用户名
    mainServerPassword(0x0012),         // 主服务器无线通信拨号密码
    mainServerAddress(0x0013),          // 主服务器地址
    backupsServerApn(0x0014),           // 备份服务器APN
    backupsServerUser(0x0015),          // 备份服务器无线通信拨号用户名
    backupsServerPassword(0x0016),      // 备份服务器无线通信拨号密码
    backupsServerAddress(0x0017),       // 备份服务器地址
    serverTcpPort(0x0018),              // 服务器TCP端口
    serverUdpPort(0x0019),              // 服务器UDP端口

    // TODO 还未补全

    ;

    private int code;

    Param(int code) {
        this.code = code;
    }

    public int getCode() {
        return code;
    }

    public static Param of(int code) {
        for (Param p : Param.values()) {
            if (p.getCode() == code) {
                return p;
            }
        }
        return null;
    }
}
